/*

* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Smart-Shop开源商城系统/ Java商城-首选电商平台系统 请务必保留此注释头信息
* |     开源地址: https://gitee.com/ningbo-qishan/gruul-mall
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     可正常分享和学习源码,未经授权 不可商用！
* |     商业版中台购买/开源版商业授权 联系技术客服
* |     官网:  https://www.73app.cn/
* ------------------------------------------------------------------------
* ------------------------------------------------------------------------
* |     Copyright (c) 2016-2999 宁波启山智软科技有限公司
* |     版权所有 ,侵权必究！
* ------------------------------------------------------------------------

*/
package com.medusa.gruul.integral.web.model.vo;

import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.medusa.gruul.integral.api.entity.IntegralOrder;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Description: 积分商品订单 vo 基础信息
 * @Author: xiaoq
 * @Date : 2019/11/26 10:25
 */
@Data
@ApiModel(value = "积分商品订单")
public class IntegralGoodsOrderVo {


	@ApiModelProperty(value = "积分订单id")
	private Long prizeOrderId;


	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建时间")
	private String createTime;


	@ApiModelProperty(value = "积分商品id")
	private Long prizeId;


	@ApiModelProperty(value = "积分物品订单类型 (0.待发货 1.已发货 2.已完成)")
	private Integer prizeOrderStatus;


	@ApiModelProperty(value = "用户id")
	private String userId;

	@ApiModelProperty(value = "用户头像")
	private String memberAvatarUrl;


	@ApiModelProperty(value = "支付时间")
	private LocalDateTime payTime;


	@ApiModelProperty(value = "支付类型")
	private Integer payType;


	@ApiModelProperty(value = "用户微信名")
	private String wxuserName;


	@ApiModelProperty(value = "积分商品实际积分")
	private BigDecimal price;


	@ApiModelProperty(value = "实付积分")
	private BigDecimal expendIntegral;


	@ApiModelProperty(value = "配送方式(0.物流配送)目前只有物流配送 ")
	private Integer distriMode;


	@ApiModelProperty(value = "收货人姓名")
	private String receiverName;


	@ApiModelProperty(value = "省级code")
	private String provinceCode;

	@ApiModelProperty(value = "市级code")
	private String cityCode;

	@ApiModelProperty(value = "区级code")
	private String areaCode;

	@ApiModelProperty(value = "收货地址")
	private String address;

	@ApiModelProperty(value = "收货人手机号")
	private String telPhone;


	@ApiModelProperty(value = "物流单号")
	private String deliverySn;


	@ApiModelProperty(value = "物流公司")
	private String deliveryCompany;


	@ApiModelProperty(value = "邮费")
	private BigDecimal shippingFee;



	@ApiModelProperty(value = "发货消息订阅")
	private String deliveryTemplateId;


	@ApiModelProperty(value = "商家备注")
	private String backRemark;

	@ApiModelProperty(value = "买家留言")
	private String buyersNote;

	@ApiModelProperty(value = "积分商品名")
	private String integralGoodName;

	@ApiModelProperty(value = "发货时间")
	private String sendTime;


	@ApiModelProperty(value = "收货时间")
	private String receiveTime;

	@ApiModelProperty(value = "积分商品图片(下单时)")
	private String integralGoodsPic;

	/**
	 *订单的积分商品信息
	 */
	@ApiModelProperty(value = "订单中商品总信息")
	private List<ShoppingInfVo> shoppingInfVos;

	public IntegralOrder coverIntegralOrder() {
		IntegralOrder integralOrder = new IntegralOrder();
		BeanUtil.copyProperties(this, integralOrder);
		return integralOrder;
	}
}
